1. Field of the Invention
Methods and apparatuses consistent with the present invention relate to a universal plug and play (UPnP) network, and more particularly, to synchronizing content directory service (CDS) objects of UPnP media servers.
2. Description of the Related Art
Universal plug and play (UPnP), which is a protocol for sensing and controlling electrical appliances connected to a network, is noted as being a home networking standard. A UPnP AV (Audio/Video) architecture was developed for utilizing multimedia content, such as audio/video, etc., on the basis of the UPnP standard.
The UPnP AV architecture consists of a media server, a media renderer, and a control point (CP) for controlling the media server and the media renderer. The media server provides multimedia files through a content directory service, and the media renderer reproduces the multimedia files. The control point controls the media server and the media renderer so that they can operate by interacting with each other. If such a UPnP AV architecture is established, a plurality of media servers can exist in a home network, wherein the media servers can contain different contents. In the UPnP AV environment, a case where a user wants to easily synchronize contents distributed to different content directory services (CDSs), for example, a case where a user wants to synchronize his or her MP3 player with a home media center in order to enjoy music contents stored in the MP3 player at a high quality by using his or her home Hi-Fi apparatus, can occur.
FIG. 1 is a conceptual diagram schematically illustrating a conventional method of synchronizing CDS objects of UPnP media servers. A user selects devices that are to perform synchronization using a control point 100 and controls CDS 101 and CDS 102 that are respectively provided by the devices so as to transfer resources between the devices in order to perform synchronization.
FIG. 2 is a detailed flowchart illustrating the conventional method illustrated in FIG. 1. Referring to FIG. 2, the control point 100 selects two devices to perform synchronization, calls Browse( ) actions of the CDSs 101 and 102 provided by the two devices, and obtains two lists of contents (Operation 201) (reference numeral 201 not marked in FIG. 2), compares the two lists of contents of the devices, and determines which CDS object is added to, deleted from, or is to be changed in the two devices (202). Here, the CDS object includes all types of data entities that the CDSs 101 and 102 can return as a result of calling the Browse( ) action or a Search( ) action. Thus, the CDS object can be used to designate a resource binary indicating metadata of contents or the contents. Hereinafter the CDS object is referred to as the object for convenience of description.
The control point 100 deletes or adds the object using actions provided by the CDSs 101 and 102 of each device (Operations 203 and 204). More specifically, the control point 100 calls a CreateObject( ) action and an ImportResource( ) action of the CDSs 101 and 102 to which a new object is added in order to control two media servers to perform synchronization.
A DestroyObject( ) action and a DeleteResource( ) action are used to delete the object. An UpdateObject( ) action is used to modify metadata of the object.
As described above, when synchronization is performed using conventional UPnP technology, the control point 100 needs to be informed of content lists of both CDSs 101 and 102 in order to select an object that needs to be synchronized. Furthermore, since the control point 100 needs to manage a synchronization policy for each synchronization operation, a large amount of contents causes considerable load on a memory or central processing unit (CPU) of the control point 100.
Also, the more objects there are to be synchronized, the more frequently an action of a CDS is called, which produces a great amount of network traffic, causing a reduction in the synchronization speed.